package com.celeste.mcpserverfeishu.dto.block;

import lombok.Data;

import java.util.List;

/**
 * 创建飞书文档块响应
 */
@Data
public class CreateBlockResponse {
    /**
     * 创建的块
     */
    private List<Block> children;
    
    /**
     * 客户端令牌
     */
    private String client_token;
    
    /**
     * 文档修订版本ID
     */
    private Integer document_revision_id;
    
    /**
     * 块对象
     */
    @Data
    public static class Block {
        /**
         * 块ID
         */
        private String block_id;
        
        /**
         * 块类型
         */
        private Integer block_type;
        
        /**
         * 父块ID
         */
        private String parent_id;
        
        /**
         * 文本内容
         */
        private Text text;
    }
    
    /**
     * 文本内容对象
     */
    @Data
    public static class Text {
        /**
         * 文本元素列表
         */
        private List<TextElement> elements;
        
        /**
         * 文本样式
         */
        private Style style;
    }
    
    /**
     * 文本元素对象
     */
    @Data
    public static class TextElement {
        /**
         * 文本运行对象
         */
        private TextRun text_run;
    }
    
    /**
     * 文本运行对象
     */
    @Data
    public static class TextRun {
        /**
         * 文本内容
         */
        private String content;
        
        /**
         * 文本元素样式
         */
        private TextElementStyle text_element_style;
    }
    
    /**
     * 文本元素样式
     */
    @Data
    public static class TextElementStyle {
        /**
         * 是否加粗
         */
        private Boolean bold;
        
        /**
         * 是否为行内代码
         */
        private Boolean inline_code;
        
        /**
         * 是否斜体
         */
        private Boolean italic;
        
        /**
         * 是否删除线
         */
        private Boolean strikethrough;
        
        /**
         * 是否下划线
         */
        private Boolean underline;
    }
    
    /**
     * 样式对象
     */
    @Data
    public static class Style {
        /**
         * 对齐方式
         */
        private Integer align;
        
        /**
         * 是否折叠
         */
        private Boolean folded;
    }
} 